<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>XMP Toolkit SDK: AdobeXMPCore::INodeIterator_v1 Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xmp_tagline_small.jpg"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">XMP Toolkit SDK
   &#160;<span id="projectnumber">6.0.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',false,false,'search.php','Search');
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classAdobeXMPCore_1_1INodeIterator__v1.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="classAdobeXMPCore_1_1INodeIterator__v1-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">AdobeXMPCore::INodeIterator_v1 Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
</div><!--header-->
<div class="contents">

<p>Interface that represents an iterator over the mutable children of a XMP DOM Node.  
 <a href="classAdobeXMPCore_1_1INodeIterator__v1.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="INodeIterator_8h_source.html">INodeIterator.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for AdobeXMPCore::INodeIterator_v1:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classAdobeXMPCore_1_1INodeIterator__v1.png" usemap="#AdobeXMPCore::INodeIterator_5Fv1_map" alt=""/>
  <map id="AdobeXMPCore::INodeIterator_5Fv1_map" name="AdobeXMPCore::INodeIterator_5Fv1_map">
<area href="classAdobeXMPCommon_1_1ISharedObject.html" title="Interface that serves as the base interface of all the externally exposed interfaces." alt="AdobeXMPCommon::ISharedObject" shape="rect" coords="0,0,212,24"/>
<area href="classAdobeXMPCommon_1_1IVersionable.html" title="Interface that serves as the base interface for all the externally exposed interfaces which needs to ..." alt="AdobeXMPCommon::IVersionable" shape="rect" coords="222,0,434,24"/>
  </map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a935e3acf5ce61aedabb3aebeb0957b81"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a46b01045c1addbc8f444bd21384b7913">INode_v1::eNodeType</a> APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INodeIterator__v1.html#a935e3acf5ce61aedabb3aebeb0957b81">GetNodeType</a> () const =0</td></tr>
<tr class="memdesc:a935e3acf5ce61aedabb3aebeb0957b81"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the type of the node currently pointed by the iterator.  <a href="classAdobeXMPCore_1_1INodeIterator__v1.html#a935e3acf5ce61aedabb3aebeb0957b81">More...</a><br /></td></tr>
<tr class="separator:a935e3acf5ce61aedabb3aebeb0957b81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb5758def29eb45d016205f8c2f3349f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#a957c57fcbb47c704fc5c31cf36dcbde7">spIStructureNode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INodeIterator__v1.html#aeb5758def29eb45d016205f8c2f3349f">GetStructureNode</a> ()</td></tr>
<tr class="memdesc:aeb5758def29eb45d016205f8c2f3349f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the iterator's currently pointed node as structure node, if possible.  <a href="classAdobeXMPCore_1_1INodeIterator__v1.html#aeb5758def29eb45d016205f8c2f3349f">More...</a><br /></td></tr>
<tr class="separator:aeb5758def29eb45d016205f8c2f3349f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad63513356a713c2dde4b17b53e584bfc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#ab5807ab783087243a3676a19ad6f9b90">spcIStructureNode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INodeIterator__v1.html#ad63513356a713c2dde4b17b53e584bfc">GetStructureNode</a> () const</td></tr>
<tr class="separator:ad63513356a713c2dde4b17b53e584bfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9a22d79ead6cc79fb5bd4da858e99ce"><td class="memItemLeft" align="right" valign="top"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#a24e8e82d63d879d77408ce5c7e30c609">spIArrayNode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INodeIterator__v1.html#ad9a22d79ead6cc79fb5bd4da858e99ce">GetArrayNode</a> ()</td></tr>
<tr class="memdesc:ad9a22d79ead6cc79fb5bd4da858e99ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the iterator's currently pointed node as an array node, if possible.  <a href="classAdobeXMPCore_1_1INodeIterator__v1.html#ad9a22d79ead6cc79fb5bd4da858e99ce">More...</a><br /></td></tr>
<tr class="separator:ad9a22d79ead6cc79fb5bd4da858e99ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac28c72477109d12e244886f68ebc819f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#a4ea338a9eed923abf6aba47a27926a0f">spcIArrayNode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INodeIterator__v1.html#ac28c72477109d12e244886f68ebc819f">GetArrayNode</a> () const</td></tr>
<tr class="separator:ac28c72477109d12e244886f68ebc819f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr class="memitem:a14aecd54a26e8a4a87f8ec0a347f1757"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceAdobeXMPCore.html#aeec2c711a611cbc3c77ef1a0bb026e33">spINode</a> APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INodeIterator__v1.html#a14aecd54a26e8a4a87f8ec0a347f1757">GetNode</a> ()=0</td></tr>
<tr class="memdesc:a14aecd54a26e8a4a87f8ec0a347f1757"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the node currently pointed by the iterator.  <a href="classAdobeXMPCore_1_1INodeIterator__v1.html#a14aecd54a26e8a4a87f8ec0a347f1757">More...</a><br /></td></tr>
<tr class="separator:a14aecd54a26e8a4a87f8ec0a347f1757"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f6a091996a317d92cfb395206d866fb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#a597eaeb0ed86794ea01f74a5be0f88ed">spcINode</a> APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INodeIterator__v1.html#a3f6a091996a317d92cfb395206d866fb">GetNode</a> () const</td></tr>
<tr class="separator:a3f6a091996a317d92cfb395206d866fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr class="memitem:a7a99393cbe890dd34062e969fe57d704"><td class="memItemLeft" align="right" valign="top"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#ab20ecb8d094c1dd81cb278370b746343">spISimpleNode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INodeIterator__v1.html#a7a99393cbe890dd34062e969fe57d704">GetSimpleNode</a> ()</td></tr>
<tr class="memdesc:a7a99393cbe890dd34062e969fe57d704"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the iterator's currently pointed node as simple node, if possible.  <a href="classAdobeXMPCore_1_1INodeIterator__v1.html#a7a99393cbe890dd34062e969fe57d704">More...</a><br /></td></tr>
<tr class="separator:a7a99393cbe890dd34062e969fe57d704"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac190ee197fb995c70e19ec8d9517b5d0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#a4cb671d44948c7505c33431ec12f6c1f">spcISimpleNode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INodeIterator__v1.html#ac190ee197fb995c70e19ec8d9517b5d0">GetSimpleNode</a> () const</td></tr>
<tr class="separator:ac190ee197fb995c70e19ec8d9517b5d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr class="memitem:a6aac63804dfbdbd0a85440da48eb8bb3"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceAdobeXMPCore.html#a5386a735d9eb66d5859e4657dfeebb7c">spINodeIterator</a> APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INodeIterator__v1.html#a6aac63804dfbdbd0a85440da48eb8bb3">Next</a> ()=0</td></tr>
<tr class="memdesc:a6aac63804dfbdbd0a85440da48eb8bb3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Advances iterator by one position.  <a href="classAdobeXMPCore_1_1INodeIterator__v1.html#a6aac63804dfbdbd0a85440da48eb8bb3">More...</a><br /></td></tr>
<tr class="separator:a6aac63804dfbdbd0a85440da48eb8bb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b9571c0c4747e502f126f7e35cbb305"><td class="memItemLeft" align="right" valign="top"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#ab423c366f29043e79694f805bceddb56">spcINodeIterator</a> APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INodeIterator__v1.html#a3b9571c0c4747e502f126f7e35cbb305">Next</a> () const</td></tr>
<tr class="separator:a3b9571c0c4747e502f126f7e35cbb305"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classAdobeXMPCommon_1_1ISharedObject"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classAdobeXMPCommon_1_1ISharedObject')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classAdobeXMPCommon_1_1ISharedObject.html">AdobeXMPCommon::ISharedObject</a></td></tr>
<tr class="memitem:ab90d4ec1fcd975a7ac62dcb866335cdc inherit pub_methods_classAdobeXMPCommon_1_1ISharedObject"><td class="memItemLeft" align="right" valign="top">virtual void APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCommon_1_1ISharedObject.html#ab90d4ec1fcd975a7ac62dcb866335cdc">Acquire</a> () const <a class="el" href="XMPCommonDefines_8h.html#a5a929113d3d50bda3fb7135a5c8b24a2">__NOTHROW__</a>=0</td></tr>
<tr class="memdesc:ab90d4ec1fcd975a7ac62dcb866335cdc inherit pub_methods_classAdobeXMPCommon_1_1ISharedObject"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called by the clients of the object to indicate that he has acquired the shared ownership of the object.  <a href="classAdobeXMPCommon_1_1ISharedObject.html#ab90d4ec1fcd975a7ac62dcb866335cdc">More...</a><br /></td></tr>
<tr class="separator:ab90d4ec1fcd975a7ac62dcb866335cdc inherit pub_methods_classAdobeXMPCommon_1_1ISharedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf5a54e09f87366170ea19c618f68bc3 inherit pub_methods_classAdobeXMPCommon_1_1ISharedObject"><td class="memItemLeft" align="right" valign="top">virtual void APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCommon_1_1ISharedObject.html#abf5a54e09f87366170ea19c618f68bc3">Release</a> () const <a class="el" href="XMPCommonDefines_8h.html#a5a929113d3d50bda3fb7135a5c8b24a2">__NOTHROW__</a>=0</td></tr>
<tr class="memdesc:abf5a54e09f87366170ea19c618f68bc3 inherit pub_methods_classAdobeXMPCommon_1_1ISharedObject"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called by the clients of the object to indicate he has released his shared ownership of the object. If this being the last client than this function should call Destroy to delete and release the memory.  <a href="classAdobeXMPCommon_1_1ISharedObject.html#abf5a54e09f87366170ea19c618f68bc3">More...</a><br /></td></tr>
<tr class="separator:abf5a54e09f87366170ea19c618f68bc3 inherit pub_methods_classAdobeXMPCommon_1_1ISharedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classAdobeXMPCommon_1_1IVersionable"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classAdobeXMPCommon_1_1IVersionable')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classAdobeXMPCommon_1_1IVersionable.html">AdobeXMPCommon::IVersionable</a></td></tr>
<tr class="memitem:ad6539461695decfaea8a44798db51e54 inherit pub_methods_classAdobeXMPCommon_1_1IVersionable"><td class="memTemplParams" colspan="2">template&lt;typename requestedInterface &gt; </td></tr>
<tr class="memitem:ad6539461695decfaea8a44798db51e54 inherit pub_methods_classAdobeXMPCommon_1_1IVersionable"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> requestedInterface *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classAdobeXMPCommon_1_1IVersionable.html#ad6539461695decfaea8a44798db51e54">GetInterfacePointer</a> ()</td></tr>
<tr class="memdesc:ad6539461695decfaea8a44798db51e54 inherit pub_methods_classAdobeXMPCommon_1_1IVersionable"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the raw pointer to an interface object implementing the requested version.  <a href="classAdobeXMPCommon_1_1IVersionable.html#ad6539461695decfaea8a44798db51e54">More...</a><br /></td></tr>
<tr class="separator:ad6539461695decfaea8a44798db51e54 inherit pub_methods_classAdobeXMPCommon_1_1IVersionable"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1827fc276dd3beb0df9aaab4ad1626d0 inherit pub_methods_classAdobeXMPCommon_1_1IVersionable"><td class="memTemplParams" colspan="2">template&lt;typename requestedInterface &gt; </td></tr>
<tr class="memitem:a1827fc276dd3beb0df9aaab4ad1626d0 inherit pub_methods_classAdobeXMPCommon_1_1IVersionable"><td class="memTemplItemLeft" align="right" valign="top">const <a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> requestedInterface *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classAdobeXMPCommon_1_1IVersionable.html#a1827fc276dd3beb0df9aaab4ad1626d0">GetInterfacePointer</a> () const</td></tr>
<tr class="memdesc:a1827fc276dd3beb0df9aaab4ad1626d0 inherit pub_methods_classAdobeXMPCommon_1_1IVersionable"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the raw pointer to a const interface object implementing the requested version.  <a href="classAdobeXMPCommon_1_1IVersionable.html#a1827fc276dd3beb0df9aaab4ad1626d0">More...</a><br /></td></tr>
<tr class="separator:a1827fc276dd3beb0df9aaab4ad1626d0 inherit pub_methods_classAdobeXMPCommon_1_1IVersionable"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:aebc78681e60a09759ce7ab820716a0a2"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INodeIterator__v1.html#aebc78681e60a09759ce7ab820716a0a2">~INodeIterator_v1</a> () <a class="el" href="XMPCommonDefines_8h.html#a5a929113d3d50bda3fb7135a5c8b24a2">__NOTHROW__</a></td></tr>
<tr class="separator:aebc78681e60a09759ce7ab820716a0a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classAdobeXMPCommon_1_1ISharedObject"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classAdobeXMPCommon_1_1ISharedObject')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classAdobeXMPCommon_1_1ISharedObject.html">AdobeXMPCommon::ISharedObject</a></td></tr>
<tr class="memitem:a5869ff89d0b7dd0a7b525401a1d57b31 inherit pro_methods_classAdobeXMPCommon_1_1ISharedObject"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCommon_1_1ISharedObject.html#a5869ff89d0b7dd0a7b525401a1d57b31">~ISharedObject</a> () <a class="el" href="XMPCommonDefines_8h.html#a5a929113d3d50bda3fb7135a5c8b24a2">__NOTHROW__</a>=0</td></tr>
<tr class="separator:a5869ff89d0b7dd0a7b525401a1d57b31 inherit pro_methods_classAdobeXMPCommon_1_1ISharedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afcb42109aed83c3b0c133bc413388037 inherit pro_methods_classAdobeXMPCommon_1_1ISharedObject"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCommon_1_1ISharedObject.html#afcb42109aed83c3b0c133bc413388037">REQ_FRIEND_CLASS_DECLARATION</a> ()</td></tr>
<tr class="separator:afcb42109aed83c3b0c133bc413388037 inherit pro_methods_classAdobeXMPCommon_1_1ISharedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classAdobeXMPCommon_1_1IVersionable"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classAdobeXMPCommon_1_1IVersionable')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classAdobeXMPCommon_1_1IVersionable.html">AdobeXMPCommon::IVersionable</a></td></tr>
<tr class="memitem:a3ccd9a1bdf7008906e094fb4e7f69826 inherit pro_methods_classAdobeXMPCommon_1_1IVersionable"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCommon_1_1IVersionable.html#a3ccd9a1bdf7008906e094fb4e7f69826">~IVersionable</a> ()</td></tr>
<tr class="separator:a3ccd9a1bdf7008906e094fb4e7f69826 inherit pro_methods_classAdobeXMPCommon_1_1IVersionable"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac619a81b428c88cfce50feaa91a2479f inherit pro_methods_classAdobeXMPCommon_1_1IVersionable"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCommon_1_1IVersionable.html#ac619a81b428c88cfce50feaa91a2479f">REQ_FRIEND_CLASS_DECLARATION</a> ()</td></tr>
<tr class="separator:ac619a81b428c88cfce50feaa91a2479f inherit pro_methods_classAdobeXMPCommon_1_1IVersionable"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Interface that represents an iterator over the mutable children of a XMP DOM Node. </p>
<dl class="section note"><dt>Note</dt><dd>Iterators are valid as long as their are no changes performed on the node. In case there are some changes performed on the node then the behavior is undefined. </dd></dl>

<p class="definition">Definition at line <a class="el" href="INodeIterator_8h_source.html#l00028">28</a> of file <a class="el" href="INodeIterator_8h_source.html">INodeIterator.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="aebc78681e60a09759ce7ab820716a0a2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aebc78681e60a09759ce7ab820716a0a2">&#9670;&nbsp;</a></span>~INodeIterator_v1()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual AdobeXMPCore::INodeIterator_v1::~INodeIterator_v1 </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Destructor </p>

<p class="definition">Definition at line <a class="el" href="INodeIterator_8h_source.html#l00179">179</a> of file <a class="el" href="INodeIterator_8h_source.html">INodeIterator.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;{}</div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ad9a22d79ead6cc79fb5bd4da858e99ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad9a22d79ead6cc79fb5bd4da858e99ce">&#9670;&nbsp;</a></span>GetArrayNode() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#a24e8e82d63d879d77408ce5c7e30c609">spIArrayNode</a> AdobeXMPCore::INodeIterator_v1::GetArrayNode </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the iterator's currently pointed node as an array node, if possible. </p>
<dl class="section return"><dt>Returns</dt><dd>A shared pointer to a const or non const object of type #IArrayNode. </dd></dl>
<dl class="section attention"><dt>Attention</dt><dd>Error is thrown in case<ul>
<li>iterator's currently pointed node is valid but is not an array node. </li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>In case iterator has gone beyond its limit, an invalid shared pointer is returned. </dd></dl>

<p class="definition">Definition at line <a class="el" href="INodeIterator_8h_source.html#l00096">96</a> of file <a class="el" href="INodeIterator_8h_source.html">INodeIterator.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;                                                        {</div>
<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;                        <span class="keyword">auto</span> node = <a class="code" href="classAdobeXMPCore_1_1INodeIterator__v1.html#a14aecd54a26e8a4a87f8ec0a347f1757">GetNode</a>();</div>
<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;                        <span class="keywordflow">if</span> ( node ) <span class="keywordflow">return</span> node-&gt;ConvertToArrayNode();</div>
<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;                        <span class="keywordflow">return</span> <a class="code" href="namespaceAdobeXMPCore.html#a24e8e82d63d879d77408ce5c7e30c609">spIArrayNode</a>();</div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;                }</div>
</div><!-- fragment -->
</div>
</div>
<a id="ac28c72477109d12e244886f68ebc819f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac28c72477109d12e244886f68ebc819f">&#9670;&nbsp;</a></span>GetArrayNode() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#a4ea338a9eed923abf6aba47a27926a0f">spcIArrayNode</a> AdobeXMPCore::INodeIterator_v1::GetArrayNode </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="INodeIterator_8h_source.html#l00102">102</a> of file <a class="el" href="INodeIterator_8h_source.html">INodeIterator.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;                                                               {</div>
<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;                        <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span> INodeIterator * <span class="keyword">&gt;</span>( this )-&gt;<a class="code" href="classAdobeXMPCore_1_1INodeIterator__v1.html#ad9a22d79ead6cc79fb5bd4da858e99ce">GetArrayNode</a>();</div>
<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;                }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a3f6a091996a317d92cfb395206d866fb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f6a091996a317d92cfb395206d866fb">&#9670;&nbsp;</a></span>GetNode() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#a597eaeb0ed86794ea01f74a5be0f88ed">spcINode</a> APICALL AdobeXMPCore::INodeIterator_v1::GetNode </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="INodeIterator_8h_source.html#l00047">47</a> of file <a class="el" href="INodeIterator_8h_source.html">INodeIterator.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;                                                             {</div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;                        <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span> INodeIterator * <span class="keyword">&gt;</span>( this )-&gt;<a class="code" href="classAdobeXMPCore_1_1INodeIterator__v1.html#a14aecd54a26e8a4a87f8ec0a347f1757">GetNode</a>();</div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;                };</div>
</div><!-- fragment -->
</div>
</div>
<a id="a14aecd54a26e8a4a87f8ec0a347f1757"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a14aecd54a26e8a4a87f8ec0a347f1757">&#9670;&nbsp;</a></span>GetNode() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceAdobeXMPCore.html#aeec2c711a611cbc3c77ef1a0bb026e33">spINode</a> APICALL AdobeXMPCore::INodeIterator_v1::GetNode </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the node currently pointed by the iterator. </p>
<dl class="section return"><dt>Returns</dt><dd>A shared pointer to a const or non const object of type #INode. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>In case iterator has gone beyond its limit, an invalid shared pointer is returned </dd></dl>

</div>
</div>
<a id="a935e3acf5ce61aedabb3aebeb0957b81"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a935e3acf5ce61aedabb3aebeb0957b81">&#9670;&nbsp;</a></span>GetNodeType()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a46b01045c1addbc8f444bd21384b7913">INode_v1::eNodeType</a> APICALL AdobeXMPCore::INodeIterator_v1::GetNodeType </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the type of the node currently pointed by the iterator. </p>
<dl class="section return"><dt>Returns</dt><dd>A value of type #<a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a46b01045c1addbc8f444bd21384b7913" title="Indicates various types of node available in XMP Data Model like simple, array and structure.">INode_v1::eNodeType</a> indicating the type of the node currently pointed by the iterator. </dd></dl>

</div>
</div>
<a id="a7a99393cbe890dd34062e969fe57d704"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7a99393cbe890dd34062e969fe57d704">&#9670;&nbsp;</a></span>GetSimpleNode() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#ab20ecb8d094c1dd81cb278370b746343">spISimpleNode</a> AdobeXMPCore::INodeIterator_v1::GetSimpleNode </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the iterator's currently pointed node as simple node, if possible. </p>
<dl class="section return"><dt>Returns</dt><dd>A shared pointer to a const or non const object of type #ISimpleNode. </dd></dl>
<dl class="section attention"><dt>Attention</dt><dd>Error is thrown in case<ul>
<li>iterator's currently pointed node is valid but is not a simple node. </li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>In case iterator has gone beyond its limit, an invalid shared pointer is returned. </dd></dl>

<p class="definition">Definition at line <a class="el" href="INodeIterator_8h_source.html#l00060">60</a> of file <a class="el" href="INodeIterator_8h_source.html">INodeIterator.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;                                                          {</div>
<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;                        <span class="keyword">auto</span> node = <a class="code" href="classAdobeXMPCore_1_1INodeIterator__v1.html#a14aecd54a26e8a4a87f8ec0a347f1757">GetNode</a>();</div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;                        <span class="keywordflow">if</span> ( node ) <span class="keywordflow">return</span> node-&gt;ConvertToSimpleNode();</div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;                        <span class="keywordflow">return</span> <a class="code" href="namespaceAdobeXMPCore.html#ab20ecb8d094c1dd81cb278370b746343">spISimpleNode</a>();</div>
<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;                }</div>
</div><!-- fragment -->
</div>
</div>
<a id="ac190ee197fb995c70e19ec8d9517b5d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac190ee197fb995c70e19ec8d9517b5d0">&#9670;&nbsp;</a></span>GetSimpleNode() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#a4cb671d44948c7505c33431ec12f6c1f">spcISimpleNode</a> AdobeXMPCore::INodeIterator_v1::GetSimpleNode </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="INodeIterator_8h_source.html#l00066">66</a> of file <a class="el" href="INodeIterator_8h_source.html">INodeIterator.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;                                                                 {</div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;                        <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span> INodeIterator * <span class="keyword">&gt;</span>( this )-&gt;<a class="code" href="classAdobeXMPCore_1_1INodeIterator__v1.html#a7a99393cbe890dd34062e969fe57d704">GetSimpleNode</a>();</div>
<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;                }</div>
</div><!-- fragment -->
</div>
</div>
<a id="aeb5758def29eb45d016205f8c2f3349f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeb5758def29eb45d016205f8c2f3349f">&#9670;&nbsp;</a></span>GetStructureNode() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#a957c57fcbb47c704fc5c31cf36dcbde7">spIStructureNode</a> AdobeXMPCore::INodeIterator_v1::GetStructureNode </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the iterator's currently pointed node as structure node, if possible. </p>
<dl class="section return"><dt>Returns</dt><dd>A shared pointer to a const or non const object of type #IStructureNode. </dd></dl>
<dl class="section attention"><dt>Attention</dt><dd>Error is thrown in case<ul>
<li>iterator's currently pointed node is valid but is not a structure node. </li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>In case iterator has gone beyond its limit, an invalid shared pointer is returned. </dd></dl>

<p class="definition">Definition at line <a class="el" href="INodeIterator_8h_source.html#l00078">78</a> of file <a class="el" href="INodeIterator_8h_source.html">INodeIterator.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;                                                                {</div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;                        <span class="keyword">auto</span> node = <a class="code" href="classAdobeXMPCore_1_1INodeIterator__v1.html#a14aecd54a26e8a4a87f8ec0a347f1757">GetNode</a>();</div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;                        <span class="keywordflow">if</span> ( node ) <span class="keywordflow">return</span> node-&gt;ConvertToStructureNode();</div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;                        <span class="keywordflow">return</span> <a class="code" href="namespaceAdobeXMPCore.html#a957c57fcbb47c704fc5c31cf36dcbde7">spIStructureNode</a>();</div>
<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;                }</div>
</div><!-- fragment -->
</div>
</div>
<a id="ad63513356a713c2dde4b17b53e584bfc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad63513356a713c2dde4b17b53e584bfc">&#9670;&nbsp;</a></span>GetStructureNode() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#ab5807ab783087243a3676a19ad6f9b90">spcIStructureNode</a> AdobeXMPCore::INodeIterator_v1::GetStructureNode </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="INodeIterator_8h_source.html#l00084">84</a> of file <a class="el" href="INodeIterator_8h_source.html">INodeIterator.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;                                                                       {</div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;                        <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span> INodeIterator * <span class="keyword">&gt;</span>( this )-&gt;<a class="code" href="classAdobeXMPCore_1_1INodeIterator__v1.html#aeb5758def29eb45d016205f8c2f3349f">GetStructureNode</a>();</div>
<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;                }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a3b9571c0c4747e502f126f7e35cbb305"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3b9571c0c4747e502f126f7e35cbb305">&#9670;&nbsp;</a></span>Next() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#ab423c366f29043e79694f805bceddb56">spcINodeIterator</a> APICALL AdobeXMPCore::INodeIterator_v1::Next </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="INodeIterator_8h_source.html#l00114">114</a> of file <a class="el" href="INodeIterator_8h_source.html">INodeIterator.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;                                                                  {</div>
<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;                        <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span> INodeIterator * <span class="keyword">&gt;</span>( this )-&gt;<a class="code" href="classAdobeXMPCore_1_1INodeIterator__v1.html#a6aac63804dfbdbd0a85440da48eb8bb3">Next</a>();</div>
<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;                }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a6aac63804dfbdbd0a85440da48eb8bb3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6aac63804dfbdbd0a85440da48eb8bb3">&#9670;&nbsp;</a></span>Next() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceAdobeXMPCore.html#a5386a735d9eb66d5859e4657dfeebb7c">spINodeIterator</a> APICALL AdobeXMPCore::INodeIterator_v1::Next </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Advances iterator by one position. </p>
<dl class="section return"><dt>Returns</dt><dd>A shared pointer to a const or non object of type #INodeIterator. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>Returned shared pointer is invalid in case the current node is the last one. </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>public/include/XMPCore/Interfaces/<a class="el" href="INodeIterator_8h_source.html">INodeIterator.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclassAdobeXMPCore_1_1INodeIterator__v1_html_ad9a22d79ead6cc79fb5bd4da858e99ce"><div class="ttname"><a href="classAdobeXMPCore_1_1INodeIterator__v1.html#ad9a22d79ead6cc79fb5bd4da858e99ce">AdobeXMPCore::INodeIterator_v1::GetArrayNode</a></div><div class="ttdeci">XMP_PRIVATE spIArrayNode GetArrayNode()</div><div class="ttdoc">Gets the iterator's currently pointed node as an array node, if possible.</div><div class="ttdef"><b>Definition:</b> <a href="INodeIterator_8h_source.html#l00096">INodeIterator.h:96</a></div></div>
<div class="ttc" id="anamespaceAdobeXMPCore_html_a957c57fcbb47c704fc5c31cf36dcbde7"><div class="ttname"><a href="namespaceAdobeXMPCore.html#a957c57fcbb47c704fc5c31cf36dcbde7">AdobeXMPCore::spIStructureNode</a></div><div class="ttdeci">shared_ptr&lt; IStructureNode &gt; spIStructureNode</div><div class="ttdef"><b>Definition:</b> <a href="XMPCoreFwdDeclarations_8h_source.html#l00103">XMPCoreFwdDeclarations.h:103</a></div></div>
<div class="ttc" id="anamespaceAdobeXMPCore_html_ab20ecb8d094c1dd81cb278370b746343"><div class="ttname"><a href="namespaceAdobeXMPCore.html#ab20ecb8d094c1dd81cb278370b746343">AdobeXMPCore::spISimpleNode</a></div><div class="ttdeci">shared_ptr&lt; ISimpleNode &gt; spISimpleNode</div><div class="ttdef"><b>Definition:</b> <a href="XMPCoreFwdDeclarations_8h_source.html#l00079">XMPCoreFwdDeclarations.h:79</a></div></div>
<div class="ttc" id="aclassAdobeXMPCore_1_1INodeIterator__v1_html_a6aac63804dfbdbd0a85440da48eb8bb3"><div class="ttname"><a href="classAdobeXMPCore_1_1INodeIterator__v1.html#a6aac63804dfbdbd0a85440da48eb8bb3">AdobeXMPCore::INodeIterator_v1::Next</a></div><div class="ttdeci">virtual spINodeIterator APICALL Next()=0</div><div class="ttdoc">Advances iterator by one position.</div></div>
<div class="ttc" id="anamespaceAdobeXMPCore_html_a24e8e82d63d879d77408ce5c7e30c609"><div class="ttname"><a href="namespaceAdobeXMPCore.html#a24e8e82d63d879d77408ce5c7e30c609">AdobeXMPCore::spIArrayNode</a></div><div class="ttdeci">shared_ptr&lt; IArrayNode &gt; spIArrayNode</div><div class="ttdef"><b>Definition:</b> <a href="XMPCoreFwdDeclarations_8h_source.html#l00115">XMPCoreFwdDeclarations.h:115</a></div></div>
<div class="ttc" id="aclassAdobeXMPCore_1_1INodeIterator__v1_html_a14aecd54a26e8a4a87f8ec0a347f1757"><div class="ttname"><a href="classAdobeXMPCore_1_1INodeIterator__v1.html#a14aecd54a26e8a4a87f8ec0a347f1757">AdobeXMPCore::INodeIterator_v1::GetNode</a></div><div class="ttdeci">virtual spINode APICALL GetNode()=0</div><div class="ttdoc">Gets the node currently pointed by the iterator.</div></div>
<div class="ttc" id="aclassAdobeXMPCore_1_1INodeIterator__v1_html_aeb5758def29eb45d016205f8c2f3349f"><div class="ttname"><a href="classAdobeXMPCore_1_1INodeIterator__v1.html#aeb5758def29eb45d016205f8c2f3349f">AdobeXMPCore::INodeIterator_v1::GetStructureNode</a></div><div class="ttdeci">XMP_PRIVATE spIStructureNode GetStructureNode()</div><div class="ttdoc">Gets the iterator's currently pointed node as structure node, if possible.</div><div class="ttdef"><b>Definition:</b> <a href="INodeIterator_8h_source.html#l00078">INodeIterator.h:78</a></div></div>
<div class="ttc" id="aclassAdobeXMPCore_1_1INodeIterator__v1_html_a7a99393cbe890dd34062e969fe57d704"><div class="ttname"><a href="classAdobeXMPCore_1_1INodeIterator__v1.html#a7a99393cbe890dd34062e969fe57d704">AdobeXMPCore::INodeIterator_v1::GetSimpleNode</a></div><div class="ttdeci">XMP_PRIVATE spISimpleNode GetSimpleNode()</div><div class="ttdoc">Gets the iterator's currently pointed node as simple node, if possible.</div><div class="ttdef"><b>Definition:</b> <a href="INodeIterator_8h_source.html#l00060">INodeIterator.h:60</a></div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespaceAdobeXMPCore.html">AdobeXMPCore</a></li><li class="navelem"><a class="el" href="classAdobeXMPCore_1_1INodeIterator__v1.html">INodeIterator_v1</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
  </ul>
</div>
</body>
</html>
